A Prolog-Based Language for Workflow Programming
نویسندگان
چکیده
Workflow management systems control activities that are performed in a distributed manner by a number of human or automated participants. There is a wide variety of workflow systems in use, mostly commercial products, and no standard language has been defined in which to express workflow specifications. In this paper we propose Workflow Prolog, a new extension of Prolog. The language allows workflow systems to be implemented in a novel declarative style, while preserving the existing properties of Prolog, such as its familiarity and efficiency. We then demonstrate the expressiveness of the language by showing how it can express each of the workflow patterns that have previously been identified as the requirements of a workflow language.
منابع مشابه
Query-Based Approach to Workflow Process Dependency Analysis
Dependency analysis is important in all of the stages of workflow processes. An appropriate analysis will help us to identify the potentially affected entities if changes occur. In this technical report we thoroughly analyze the critical entities of workflow processes and their dependency relationships, and propose a multi-dimensional dependency model, that includes routing dependency, data dep...
متن کاملReversible Language Extensions and Their Application in Debugging
A range of methodologies and techniques are available to guide the design and implementation of language extensions and domainspecific languages. A simple yet powerful technique is based on source-tosource transformations interleaved across the compilation passes of a base language. Despite being a successful approach, it has the main drawback that the input source code is lost in the process. ...
متن کاملDelta Prolog: a Distributed Logic Programming Language and Its Implementation on Distributed Memory Multiprocessors
Delta Prolog is a logic programming language extending Prolog with constructs for sequential and parallel composition of goals, interprocess communication and synchronization , and external non-determinism. We present sequential and parallel search strategies for the language, based on the notion of derivations space. They rely upon distributed backtracking, a mechanism supporting the coordinat...
متن کاملUNICORN: A Programming Environment for Bousi∼Prolog
Bousi∼Prolog is a fuzzy logic programming language which is an extension of the standard Prolog language. The Bousi∼Prolog operational semantics is an adaptation of the SLD resolution principle, where classical unification has been replaced by a fuzzy unification algorithm based on proximity relations. Unicorn is a programming environment for the Bousi∼Prolog language. This environment will pro...
متن کاملA Prolog-based Environment for Reasoning about Programming Languages (Extended abstract)
ECLAIR is a Prolog-based prototype system aiming to provide a functionally complete environment for the study, development and evaluation of programming language analysis and implementation tools. In this paper, we sketch the overall structure of the system, outlining the main methodologies and technologies underlying its components. We also discuss the appropriateness of Prolog as the implemen...
متن کامل